// File: jmcomic-core/src/main/java/dev/jukomu/jmcomic/client/JmDetailClient.java
package dev.jukomu.jmcomic.client;

import dev.jukomu.jmcomic.entity.JmAlbumDetail;
import dev.jukomu.jmcomic.entity.JmPhotoDetail;

/**
 * 对应Python的JmDetailClient，定义获取禁漫详情（本子/章节）的接口。
 */
public interface JmDetailClient {

    /**
     * 获取本子详情。
     *
     * @param albumId 本子ID。
     * @return JmAlbumDetail实例。
     */
    JmAlbumDetail getAlbumDetail(String albumId);

    /**
     * 获取章节详情。
     *
     * @param photoId         章节ID。
     * @param fetchAlbum      是否同时获取该章节所属的本子详情。
     * @param fetchScrambleId 是否同时获取该章节的解密ID。
     * @return JmPhotoDetail实例。
     */
    JmPhotoDetail getPhotoDetail(String photoId, boolean fetchAlbum, boolean fetchScrambleId);

    /**
     * 检查并补充JmPhotoDetail的必要字段。
     *
     * @param photo 要检查的JmPhotoDetail对象。
     */
    void checkPhoto(JmPhotoDetail photo);
}